<html>
<head>
<script src="../../resources/js-test.js"></script>
<style>
#button3, #button5 { height: 40px; }
#button4 { height: 40px; background-color: yellow; }
</style>
<script>
if (window.testRunner)
    testRunner.dumpAsText();

window.onload = function()
{
    shouldBe("document.getElementById('button1').offsetHeight", "document.getElementById('button2').offsetHeight");
    shouldEvaluateTo("document.getElementById('button3').offsetHeight", 40);
    shouldEvaluateTo("document.getElementById('button4').offsetHeight", 40);

    // Note, the expected height is the height of button 1 for the Mac ports, and 40 otherwise.
    var expectedButton5Height = (navigator.platform.indexOf("Mac") !== -1) ? document.getElementById("button1").offsetHeight : 40;
    if (document.getElementById('button5').offsetHeight == expectedButton5Height)
        testPassed("document.getElementById('button5').offsetHeight is correct for this platform.");
    else
        testFailed("document.getElementById('button5').offsetHeight is incorrect for this platform. Should be the same height as button 1 for the Mac ports and 40 otherwise.");

    if (window.testRunner) {
        var testContainer = document.getElementById("test-container");
        if (testContainer)
            document.body.removeChild(testContainer);   
    }
    debug('<br /><span class="pass">TEST COMPLETE</span>');
}
</script>
</head>
<body>
<p id="description"></p>
<div id="test-container">
    <ol>
        <li><input id="button1" type="button" value="unspecified height"/><p><strong>Expected height:</strong> height of button label font.</p></li>
        <li><button id="button2">unspecified height</button><p><strong>Expected height:</strong> height of button label font.</p></li>
        <li><button id="button3">height 40 pixels</button><p><strong>Expected height:</strong> 40 pixels.</p></li>
        <li><input id="button4" type="button" value="height 40 pixels, background yellow"/><p><strong>Expected height:</strong> 40 pixels.</p></li>
        <li><input id="button5" type="button" value="height 40 pixels (*)"/><p><strong>(*) Expected height:</strong><br/>Mac: height of button label font.<br/>Other: 40 pixels.</p></li>
    </ol>
</div>
<hr/>
<div id="console"></div>
<script>
    description("This tests that the specified height is honored (*) for &lt;input&gt; and &lt;button&gt; elements.<br/>" +
                "(*) The Mac ports ignore the specified height for &lt;input type=&quot;button&quot;&gt; elements unless a " +
                "border and/or background CSS property is also specified (see the fifth button below). Disregarding " +
                "padding, they render the button with a height equal to the height of the font used for the button label.");
</script>
</body>
</html>
